package com.company.cloud.crm.modules.mgr.service;

import com.company.cloud.common.bean.LoginSimpleUserInfo;
import com.company.cloud.crm.modules.cache.models.CustomerModel;
import com.company.cloud.crm.modules.mgr.controller.req.CustomerAllocationParam;
import com.company.cloud.crm.modules.mgr.controller.req.CustomerBackParam;
import com.company.cloud.crm.modules.mgr.controller.req.CustomerSaveParam;
import com.company.cloud.crm.modules.mgr.controller.req.CustomerUpdateParam;

public interface CustomerMgrService {
	

	public void save(CustomerSaveParam params,LoginSimpleUserInfo userInfo);
	
	public void update(CustomerUpdateParam params,LoginSimpleUserInfo userInfo);
	
	public void del(String custNo,LoginSimpleUserInfo userInfo);
	
	public CustomerModel get(String custNo);

	public CustomerModel getByUserId(Integer userId);
	
	/**分配客户*/
	public void allocation(CustomerAllocationParam params,LoginSimpleUserInfo userInfo);
	
	/**分配客户*/
	public void allocation(String custNo,Integer userId, LoginSimpleUserInfo userInfo);
	
	/**从客户池分配客户*/
	public void allocationByPool(CustomerAllocationParam params,LoginSimpleUserInfo userInfo);
	
	/**退回到客户池*/
	public void backByPool(CustomerBackParam params,LoginSimpleUserInfo userInfo);

}
